package com.symone.webcms.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.symone.webcms.model.Role;
import com.symone.webcms.model.User;
import com.symone.webcms.model.vo.UserInfoVO;
import com.symone.webcms.model.vo.UserVO;

/**
 * <p>
 * 系统用户表 服务类
 * </p>
 *
 * @author ArcherChu
 * @since 2018-10-30
 */
public interface UserService extends IService<User> {

    boolean insert(User user);

    int delete(long id);

    int clear();

    UserVO findUserByName(String username);

    void saveImageCode(String randomStr, String imageCode);

    Boolean sendSmsCode(String mobile);

    boolean changePassword(long id, String userName, String password);

    Page<UserInfoVO> getUserListByParameters(Page<UserInfoVO> page, String userName, String email, String mobile, String roleId, Integer state);

    void updateUser(User user);
}
